package com.wgh.product.api.fallback;

import com.wgh.product.api.client.BrandClient;
import com.wgh.product.dto.BrandDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * 品牌管理客户端熔断降级实现
 */
@Component
@Slf4j
public class BrandClientFallback implements BrandClient {

    @Override
    public BrandDTO findById(Long id) {
        log.error("品牌服务调用失败，降级处理：findById(id={})");
        return null;
    }

    @Override
    public List<BrandDTO> findListByIds(List<Long> ids) {
        log.error("品牌服务调用失败，降级处理：findListByIds(ids={})", ids);
        return new ArrayList<>();
    }

    @Override
    public List<BrandDTO> findEnabledList() {
        log.error("品牌服务调用失败，降级处理：findEnabledList()");
        return new ArrayList<>();
    }

    @Override
    public List<BrandDTO> findPage(Integer page, Integer size) {
        log.error("品牌服务调用失败，降级处理：findPage(page={}, size={})", page, size);
        return new ArrayList<>();
    }

    @Override
    public List<BrandDTO> search(String keyword, Integer page, Integer size) {
        log.error("品牌服务调用失败，降级处理：search(keyword={}, page={}, size={})", keyword, page, size);
        return new ArrayList<>();
    }
}